package com.mall.product.domain.entity;

import com.mall.common.annotation.Excel;
import com.mall.common.core.domain.BaseEntity;
import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 商品对象 pro_product
 *
 * @author zhonglin
 * @date 2020-05-07
 */
public class ProProduct
    extends BaseEntity {

  private static final long serialVersionUID = 1L;

  /**
   * 商品id
   */
  private Long productId;

  /**
   * 商品编码
   */
  @Excel(name = "商品编码")
  private String productCode;

  /**
   * 商品名称
   */
  @Excel(name = "商品名称")
  private String productName;

  /**
   * 显示顺序
   */
  @Excel(name = "显示顺序")
  private Integer orderNum;

  /**
   * 零售价
   */
  @Excel(name = "零售价")
  private Double retailPrice;

  /**
   * 实售价
   */
  @Excel(name = "实售价")
  private Double currentPrice;

  /**
   * 商品分类id
   */
  @Excel(name = "商品分类id")
  private Long categoryId;

  /**
   * 品牌id
   */
  @Excel(name = "品牌id")
  private Long brandId;

  /**
   * 商品类型id
   */
  @Excel(name = "商品类型id")
  private Long typeId;

  /**
   * 商品介绍
   */
  @Excel(name = "商品介绍")
  private String introduce;

  /**
   * 规格参数
   */
  @Excel(name = "规格参数")
  private String specification;

  /**
   * 是否上架（0-否 1-是）
   */
  @Excel(name = "是否上架", readConverterExp = "0=-否,1=-是")
  private String isPutaway;

  /**
   * 是否新品（0-否 1-是）
   */
  @Excel(name = "是否新品", readConverterExp = "0=-否,1=-是")
  private String isNew;

  /**
   * 是否推荐（0-否 1-是）
   */
  @Excel(name = "是否推荐", readConverterExp = "0=-否,1=-是")
  private String isRecommend;

  /**
   * 状态（0正常 1停用）
   */
  @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
  private String status;

  /**
   * 删除标记（0代表存在 2代表删除）
   */
  private String delFlag;

  public void setProductId(Long productId) {

    this.productId = productId;
  }

  public Long getProductId() {

    return productId;
  }

  public void setProductCode(String productCode) {

    this.productCode = productCode;
  }

  public String getProductCode() {

    return productCode;
  }

  public void setProductName(String productName) {

    this.productName = productName;
  }

  public String getProductName() {

    return productName;
  }

  public void setOrderNum(Integer orderNum) {

    this.orderNum = orderNum;
  }

  public Integer getOrderNum() {

    return orderNum;
  }

  public Double getRetailPrice() {

    return retailPrice;
  }

  public void setRetailPrice(Double retailPrice) {

    this.retailPrice = retailPrice;
  }

  public Double getCurrentPrice() {

    return currentPrice;
  }

  public void setCurrentPrice(Double currentPrice) {

    this.currentPrice = currentPrice;
  }

  public void setCategoryId(Long categoryId) {

    this.categoryId = categoryId;
  }

  public Long getCategoryId() {

    return categoryId;
  }

  public void setBrandId(Long brandId) {

    this.brandId = brandId;
  }

  public Long getBrandId() {

    return brandId;
  }

  public void setTypeId(Long typeId) {

    this.typeId = typeId;
  }

  public Long getTypeId() {

    return typeId;
  }

  public void setIntroduce(String introduce) {

    this.introduce = introduce;
  }

  public String getIntroduce() {

    return introduce;
  }

  public void setSpecification(String specification) {

    this.specification = specification;
  }

  public String getSpecification() {

    return specification;
  }

  public void setIsPutaway(String isPutaway) {

    this.isPutaway = isPutaway;
  }

  public String getIsPutaway() {

    return isPutaway;
  }

  public void setIsNew(String isNew) {

    this.isNew = isNew;
  }

  public String getIsNew() {

    return isNew;
  }

  public void setIsRecommend(String isRecommend) {

    this.isRecommend = isRecommend;
  }

  public String getIsRecommend() {

    return isRecommend;
  }

  public void setStatus(String status) {

    this.status = status;
  }

  public String getStatus() {

    return status;
  }

  public void setDelFlag(String delFlag) {

    this.delFlag = delFlag;
  }

  public String getDelFlag() {

    return delFlag;
  }

  @Override
  public String toString() {

    return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("productId", getProductId())
                                                                    .append("productCode", getProductCode())
                                                                    .append("productName", getProductName())
                                                                    .append("orderNum", getOrderNum())
                                                                    .append("retailPrice", getRetailPrice())
                                                                    .append("currentPrice", getCurrentPrice())
                                                                    .append("categoryId", getCategoryId())
                                                                    .append("brandId", getBrandId())
                                                                    .append("typeId", getTypeId())
                                                                    .append("introduce", getIntroduce())
                                                                    .append("specification", getSpecification())
                                                                    .append("isPutaway", getIsPutaway())
                                                                    .append("isNew", getIsNew())
                                                                    .append("isRecommend", getIsRecommend())
                                                                    .append("status", getStatus())
                                                                    .append("delFlag", getDelFlag())
                                                                    .append("createBy", getCreateBy())
                                                                    .append("createTime", getCreateTime())
                                                                    .append("updateBy", getUpdateBy())
                                                                    .append("updateTime", getUpdateTime())
                                                                    .append("remark", getRemark())
                                                                    .toString();
  }

}
